class Role:
    '类声明'
    def __init__(self, name, weapon):
        '该方法被称作构造器方法，用于将属性绑定在实例身上'
        # self不是关键字，可以是任意的合法名称
        self.name = name
        self.weapon = weapon

    def show_me(self):
        '绑定实例身上的属性，可以用来在类的任何地方'
        print('我是%s，我擅长用：%s' % (self.name, self.weapon))
    def speak_me(self,words):
        #参数和局部变量，都只能在函数内部使用
        print(words)

class Warrior(Role):
    def attack(self,target):
        print('近战攻击: %s' % target)

class Mage(Role):
    def attack(self,target):
        print('远程施法: %s' % target)

if __name__ == '__main__':
    lb = Warrior('吕布', '方天画戟')
    km = Mage('孔明', '羽扇')
    lb.show_me()
    km.show_me()
    lb.attack('野猪')
    km.attack('曹操')